How to get the thinest binaries for 68K or PPC machines
"touchMe" application program is distributed as a "fat" binary, that means both PPC code and 68K code are stored in it. Alas! the program size becomes incredibley so large up to about 463 K bytes in disk. There are something tools to strip the other code for getting "thin" binary. Or, you can manage to create 68K and PPC versions, following the instructions.
1. True code
For the executable program code, PPC application has it in data fork, whereas 68K has in resource fork as a 'CODE' type. They are separately independent in executing on either 68K or PPC machines. As for "touchMe" program, the resource type 'DATA' is only referred by 68K code, and for the corresponding data are entirely embedded in data fork as a portion of PPC program code. In PPC application, there must be a unique resource type 'cfrg', an abbreviation for 'code fragment', that is a flag to determine whether this program is a 68K or PPC application. Now let's find out the configuration of the program code.
in data fork in resource fork
(ppc code) 'CODE' 'DATA' 'cfrg' others total
FAT: needed needed needed needed needed 463KB
PPC: needed -zero- -zero- needed needed 300KB
68K: -zero- needed needed -zero- needed 204KB
2. Using strip tools
You can instantly remove the other code, using William Edward Woody's "Strip68k" and "StripPPC". But after applying it to my "touchMe" program, I found some vain data still remains in the resource fork. Now watch it!
Applying "Strip68k" and "StripPPC" to FAT binary, we will get;
I have checked that 68K and my.68K programs are exactly the same ones. The "Strip68K" may leave some vain resource 'CODE', 'DATA' and besides adds an 'ALRT'+'DITL' (ID=27309) in my.PPC code, that makes a difference in total program size.
3. To get the thinest code
Are you an expert on "ResEdit" or "Resorcerer"? If so, it's great and fun! You just remove the other codes from the program code to get a thinned application program, that will take only one or two minutes to work around. Let's follow the instructions;
(1) to get PPC application, apply it to "touchMe" program code...
* Remove 'CODE' (all) and 'DATA' (all) resource data
* Remove 'ALRT'+'DITL' (ID=27309 only) if you have applied "Strip68k"
(2) to get 68K application, apply it to "touchMe" program code...
* Remove 'cfrg' (all) resource data
* Remove its data fork, using "StripPPC" or "Resorcerer"
I am afraid it is not able to handle the data fork by the regular "ResEdit".